package NowCoder.JavaSE.String;
import java.util.*;

/** 字符串中找出连续最长的数字串_OR59
 *
 * 入门  通过率：29.68%  时间限制：1秒  空间限制：32M
 * 知识点 字符串 模拟 贪心
 *
 * warning 校招时部分企业笔试将禁止编程题跳出页面，为提前适应，练习时请使用在线自测，而非本地IDE。
 * 描述
 * 读入一个字符串str，输出字符串str中的连续最长的数字串
 * 输入描述：
 * 个测试输入包含1个测试用例，一个字符串str，长度不超过255。
 * 输出描述：
 * 在一行内输出str中里连续最长的数字串。
 * 示例1
 * 输入：
 * abcd12345ed125ss123456789
 * 输出：
 * 123456789
 * https://www.nowcoder.com/practice/bd891093881d4ddf9e56e7cc8416562d?tpId=182&tqId=34785&ru=/exam/oj
 */
public class 字符串中找出连续最长的数字串_OR59 {
    public static String longestNumberString(String str){
        char[] arr = str.toCharArray();

        if(arr == null || arr.length == 0){
            return null;
        }

        //此时代表该字符串至少长度大于等于一
        int size = arr.length;

        int longest = 0;//记录最长的字符串长度
        int index = -1;//最长数字串尾字符地址
        int withlength = 0;//记录当前字符串的长度
        int withIdx = -1;
        for(int i = 0;i < size;i++){
            if(arr[i] <= '9' && arr[i] >= '0'){
                withlength++;
                withIdx = i;
                if(withlength > longest){
                    if(i == size - 1){
                        longest = withlength;
                        index = withIdx;
                    }
                }
            }else{//此时代表 字符数组存放的字符不是数字
                if(withlength > longest){
                    longest = withlength;
                    index = withIdx;
                }
                withlength = 0;
            }
        }

        //走到这一步代表整个数组全部遍历了一遍了
        //此时存在两种情况
        //第一种是该数组为不存在数字串
        //第二种是该数组找到了最长的数字串，并且由index记录了最长数字串尾地址
        if(index == -1){
            //此时代表数组中不存在数字串
            return null;
        }else{
            //代表找到最长的数字串，其为地址为index，则它首字母的地址为index - longest
            StringBuffer sbf = new StringBuffer();
            for(int i = index - longest + 1; i <= index;i++){
                sbf.append(arr[i]);
            }
            String str1 = sbf.toString();
            return str1;
        }
    }
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            String str = scanner.nextLine();

            System.out.println(longestNumberString(str));
        }
    }
}
